Physical activity measurement and analysis

ABSTRACT

A method of physical activity measurement and analysis, the method comprising computer-executed steps of: receiving at least one value extracted from measurements of a physical activity of a first user, and detecting a deviation of the physical activity of the first user from at least one previous physical activity using the received at least one value and at least one reference value calculated over at least one value extracted from measurements of the at least one previous physical activity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of International Application No.PCT/IB2016/056178 filed on Oct. 14, 2016 which claims the benefit ofU.S. Provisional Application No. 62/376,916 filed on Aug. 19, 2016, thecontents of which are hereby incorporated by reference.

FIELD AND BACKGROUND OF THE INVENTION

The present invention relates to physical activity measurement and moreparticularly but not exclusively, to a system and method of physicalactivity measurement and analysis.

Many devices are currently used for measuring physical activities of auser. Most of those devices however, are used for tracking caloricaspects of physical activity, and are suitable for use by regular peopleonly (say by users who jog daily, before going to work at their office).

Those devices have usually been limited to counting the user's steps ormeasuring the user's heart pulse rate, and rarely ever address any otheraspect of a physical activity of a user.

Further, those devices are not tailored for the specific needs of a userwho happens to be a professional athlete or a person who suffers from amotor disorder such as Parkinson's Disease, Essential Tremor, etc.

Indeed, such a user may need very different ways of measurements andanalysis of her physical activities, for deriving relevant informationfrom the measurements and analysis.

Further, for many physical activities, step counting and the measurementof pulse rate are either irrelevant, or simply not enough.

For example, sport physical activities such as Biking, Swimming, Boxing,Skiing or daily physical activities such as writing, operating acomputer mouse, resting (say sitting), etc., may require alternative oradditional ways of measurement and analysis, for deriving relevantinformation therefrom.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention there is provided amethod of physical activity measurement and analysis, the methodcomprising computer-executed steps of: receiving at least one valueextracted from measurements of a physical activity of a first user, anddetecting a deviation of the physical activity of the first user from atleast one previous physical activity using the received at least onevalue and at least one reference value calculated over at least onevalue extracted from measurements of the at least one previous physicalactivity.

According to a second aspect of the present invention there is providedan apparatus for physical activity measurement and analysis, comprising:at least one computer processor, a value receiver, implemented on thecomputer processor, configured to receive at least one value extractedfrom measurements of a physical activity of a first user, and adeviation detector, in communication with the value receiver, configuredto detect a deviation of the physical activity of the first user from atleast one previous physical activity using the received at least onevalue and at least one reference value calculated over at least onevalue extracted from measurements of the at least one previous physicalactivity.

According to a third aspect of the present invention there is provided anon-transitory computer readable medium storing computer processorexecutable instructions for performing steps of physical activitymeasurement and analysis, the steps comprising: receiving at least onevalue extracted from measurements of a physical activity of a firstuser, and detecting a deviation of the physical activity of the firstuser from at least one previous physical activity using the received atleast one value and at least one reference value calculated over atleast one value extracted from measurements of the at least one previousphysical activity.

Unless otherwise defined, all technical and scientific terms used hereinhave the same meaning as commonly understood by one of ordinary skill inthe art to which this invention belongs. The materials, methods, andexamples provided herein are illustrative only and not intended to belimiting.

Implementation of the method and system of the present inventioninvolves performing or completing certain selected tasks or stepsmanually, automatically, or a combination thereof. Moreover, accordingto actual instrumentation and equipment of preferred embodiments of themethod and system of the present invention, several selected steps couldbe implemented by hardware or by software on any operating system of anyfirmware or a combination thereof.

For example, as hardware, selected steps of the invention could beimplemented as a chip or a circuit. As software, selected steps of theinvention could be implemented as a plurality of software instructionsbeing executed by a computer using any suitable operating system.

In any case, selected steps of the method and system of the inventioncould be described as being performed by a data processor, such as acomputing platform for executing a plurality of instructions.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is herein described, by way of example only, withreference to the accompanying drawings.

With specific reference being now made to the drawings in detail, it isstressed that the particulars shown are by way of example and forpurposes of illustrative discussion of the preferred embodiments of thepresent invention only, and are presented in order to provide what isbelieved to be the most useful and readily understood description of theprinciples and conceptual aspects of the invention. The descriptiontaken with the drawings making apparent to those skilled in the art howthe several forms of the invention may be embodied in practice.

In the drawings:

FIG. 1A is a simplified block diagram schematically illustrating a firstexemplary apparatus for physical activity measurement and analysis,according to an exemplary embodiment of the present invention.

FIG. 1B is a simplified block diagram schematically illustrating asecond exemplary apparatus for physical activity measurement andanalysis, according to an exemplary embodiment of the present invention.

FIG. 2A is a simplified flowchart schematically illustrating a firstexemplary method of physical activity measurement and analysis,according to an exemplary embodiment of the present invention.

FIG. 2B is a simplified flowchart schematically illustrating a secondexemplary method of physical activity measurement and analysis,according to an exemplary embodiment of the present invention.

FIG. 3 is a block diagram schematically illustrating a non-transitorycomputer readable medium storing computer executable instructions forperforming steps of physical activity measurement and analysis,according to an exemplary embodiment of the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present embodiments comprise an apparatus and a method of physicalactivity measurement and analysis.

According to some of the present embodiments, a physical activity of auser is analyzed in light of previously measured physical activitiesrather than based on the physical activity alone.

Further, according to some of the embodiments, an analysis of the user'physical activity may takes into consideration data on the user'sphysical condition (say illness) or ability, on the type of the physicalactivity (say biking, swimming, etc.), and data on previous physicalactivities of the same user, type, or user and type.

Thus, the user's performance during the physical activity may beunderstood in light of his own history of physical activities, a historyof physical activities of a same type (say of biking, resting, etc), ofsimilar activities by users who suffer from a same illness as theuser's, etc., or any combination thereof.

Further, the history of the user's physical activities may serve as abasis for a tracking the user's condition, and for quantifying changesin the user's condition based on several physical activity sessions, sayon a periodic (say daily) basis, as described in further detailhereinbelow.

Furthermore, according to some of the embodiments, for measuring theuser's physical activity, movements that make up the physical activityare measured in more than one aspect (say by measuring both musclepressure and body part orientation).

Thus, according to some embodiments, there is received one or more valueextracted from measurements of a physical activity of a user, say by acomputer in remote communications with a device used to measure thephysical activity of the user, as described in further detailhereinbelow.

For example, a device worn by the user during a physical activity suchas walking, running, and even resting, may include a computer processorand one or more sensors (say pressure meters, gyroscopes, GPS (GlobalPositioning System) Receivers, etc.) that are used for measuring theuser's physical activity.

The device worn by the user may be used to measure the user's physicalactivity, for example by taking measurements of pressure applied by amuscle of the user upon contraction when extending an arm, by takingmeasurements of changes in angular orientation of a user's arm or foot,etc., during the physical activity.

According to one example, values extracted from the measurements of thephysical activity may be used to detect a deviation of the physicalactivity from at least one previous physical activity by the user, fromsimilar physical activities by other users, etc., as described infurther detail hereinbelow.

The received one or more values may be used for detecting a deviation ofthe physical activity from at least one previous physical activity,using at least one reference value previously calculated over one ormore values extracted from measurements of the previous physicalactivities.

Specifically, a comparison made between the received values and thereference values may show a deviation of the received values from thereference values.

The reference values are thus used as a kind of a “base level” for thevalues extracted from the measurements, as expected based on the one ormore previous physical activities by the user or on similar physicalactivities by a group of users (say other athletes or users who sufferfrom a same disorder as the user's).

Optionally, each one of the reference value is a standalone, singlevalue (say an average value), say a value calculated by averaging overmeasurements of pressures applied by muscles of the user's foot or upperarm during the previous physical activity (say during a previous sessionof training or of physiotherapy).

Alternatively, the previous physical activity (say biking) involves arepeated movement cycle and each one of the reference values pertains toa different time (say a different time frame) within the repeated cycle.The reference values may thus make up a set of values also referred tohereinbelow as an ‘envelope’ that represents “borderlines” within whichthe values extracted during one cycle of the physical activity areexpected to stay.

In a first example, the user is a professional athlete and the detectionof the deviation of the physical activity is based on reference valuescalculated over measurements made during one or more previous physicalactivities (say training sessions) of the athlete, say during a marathonor a bike cycling event.

In the first example, the detection of the deviation from the previousphysical activity is a part of or a prerequisite for the computer'srecognizing of a user's gesture with which the user controls thecomputer.

For example, a computer may be programmed to recognize a gesturepredefined, say by an administrator or programmer (say a gesture usedfor commanding the computer to capture a picture of the user using acamera connected to the computer), based on the received values.

In the example, the gesture is defined by the programmer oradministrator in a database, say as a set of value ranges that thereceived values have to be within, in order for a user's movement to berecognized as the gesture, associated with a computer command to beissued, as described in further detail hereinbelow.

However, according to exemplary embodiments, the gesture is recognizedonly when there is also detected a deviation of the user's physicalactivity from the previous physical activities of the user, as describedin further detail hereinbelow.

More specifically, by determining if the received values deviate from a“base level” made of reference values calculated over the previousphysical activities, the computer is able to decide if a user's movementduring the physical activity is indeed, the predefined gesture or rathera movement expected for such a physical activity.

The computer may thus tell whether the user's movement is intended to bethe predefined gesture or rather is a movement that—although similar tothe gesture in direction, angle, etc.—is a normal part of the physicalactivity itself.

Optionally, upon construing the movement as the predefined gesture,there is issued the command to the computer (say a command to start astopwatch, stop a stopwatch, capture an image of the user with a cameracontrolled by the computer, etc.), as described in further detailhereinbelow.

Thus, the present embodiments may allow automatic generation of computercommands based on measurements taken during a user's physical activity,and a “base level” made of reference values calculated from valuesextracted from measurements of previous physical activities by the user.

Additionally or alternatively, the detected deviation may be interpretedas indicating a change in the user's condition (as compared withprevious physical activity of the same type, say previous sessions ofbiking by the user), as described in further detail hereinbelow.

In one example, the user is a person who suffers from Parkinson'sdisease. One of the symptoms of Parkinson's disease is tremor at rest.Even in early stages of the disease, most of the people who suffer fromthe disease experience tremor in the hand, foot, jaw, etc. The tremorconsists of a shaking or oscillating movement, and usually appears whena person's muscles are relaxed, or are at rest, hence the term “tremorat rest”.

In the example, the received values are extracted from measurementstaken during a session in which the user rests. Thus, in the example,the measured physical activity is actually a one of resting (say ofsitting or lying).

Further in the example, a computer (say a hospital computer) isprogrammed to recognize a movement of the user as a gesture (say aspecific upper arm orientation used for instructing the hospitalcomputer to call a nurse) predefined by a programmer, based on thereceived values, as described in further detail hereinbelow.

However, the computer further uses a reference value, to verify that themovement is not a part of the user's usual tremor at rest, before anyrecognition of the gesture, as described in further detail hereinbelow.To that end, the computer uses the reference value, for verifying thatthe movement causes the user's physical activity to deviate from theprevious physical activities of the user during rest, before trying torecognize any gesture.

The reference value is a value calculated based on measurement takenfrom the user during previous sessions, as the user experiences tremorat rest, say by averaging over pressure and orientation measurementstaken from the user during the previous sessions, as described infurther detail hereinbelow.

Using a “base level” of tremors at rest, as represented by a referencevalue, the computer determines if a user's movement's is indeed intendedbe the gesture, or rather is an unintentional movement that—even ifsimilar to the predefined gesture in direction, angle, etc.—is withinlimits of the tremor that the user usually experiences at rest.

Additionally or alternatively, the detected deviation from the “baselevel” of tremor at rest may be interpreted as indicating a change inthe user's condition (say an alleviation of the user's tremor at restsymptoms), as described in further detail hereinbelow.

Thus, potentially, the present embodiments may also improve accuracy ofautomatic analysis of a physical activity based on measurements takenduring the activity, by taking into consideration a “base level” made ofpreviously calculated reference values that represents a user's historyof physical activities.

The principles and operation of an apparatus and a method according tothe present invention may be better understood with reference to thedrawings and accompanying description.

Before explaining at least one embodiment of the invention in detail, itis to be understood that the invention is not limited in its applicationto the details of construction and the arrangement of the components setforth in the following description or illustrated in the drawings.

The invention is capable of other embodiments or of being practiced orcarried out in various ways. Also, it is to be understood that thephraseology and terminology employed herein is for the purpose ofdescription and should not be regarded as limiting.

Reference is now made to FIG. 1A, which is a simplified block diagramschematically illustrating a first exemplary apparatus for physicalactivity measurement and analysis, according to an exemplary embodimentof the present invention.

An exemplary apparatus 1000 for physical activity measurement andanalysis, according to an exemplary embodiment of the present invention,may be implemented as a computer program, as hardware, as a combinationof a computer program and hardware, etc.

The apparatus 1000 includes a computer. A computer as used hereinaboveand hereinbelow, may be a single computer, or rather actually includetwo or more computers that are in a wired or wireless communication.

Optionally, the computer of apparatus 1000 is a server computer or anyother computer that is a part of a client-server or cloud implementedsystem that includes apparatus 1000 as well one or more additionalcomputers in communication therewith.

Optionally, the computer is a computer in use in a clinical environment(say at a physiotherapy clinic or at a hospital's department), acomputer in use at a gym or at another sport facility, a computer inremote communication with that computer, etc., or any combinationthereof, as described in further detail hereinbelow.

Optionally, the computer includes a user's computer such as a smartmobile phone, a tablet computer, or another computer in use by the user,a computer in remote communication with the user's computer, etc., orany combination thereof, as described in further detail hereinbelow.

Accordingly, the apparatus 1000 includes one or more computerprocessors, say one or more computer processors of a first computer (saya dedicated server computer at a gym or a user's smart mobile phone),one or more computer processors of a computer in remote communicationwith the first computer, or both.

The apparatus 1000 further includes one or more additional parts, saythe parts denoted 110-120 in FIG. 1A, and possibly, other parts too, asdescribed in further detail hereinbelow.

The additional parts may be implemented as software—say by programmingone or more of the computer processors to execute the exemplary methoddescribed in further detail hereinbelow and illustrated using FIG. 2A,as hardware—say as an electric circuit that implements at least a partof the method, etc., or any combination thereof.

The apparatus 1000 further includes a value receiver 110, say a valuereceiver 110 implemented by programming the computer of the apparatus1000.

The value receiver 110 receives one or more values extracted frommeasurements of a physical activity of a first user, as described infurther detail hereinbelow.

Optionally, for receiving the one or more values, the value receiver 110communicates with a device used to carry out the measurements of thephysical activity of the first user (say a device having a computer andone or more sensors), as described in further detail hereinbelow.

The physical activity may include, but is not limited to, walking,running, swimming, biking, skiing, rowing, skating, dancing, operating amechanical device used for physiotherapy or for exercising in a gym,operating a computer mouse, resting (say sitting), etc., as described infurther detail hereinbelow.

The measurements taken by the device may include, for example,measurements of physical parameters such as pressure applied by a muscleof the first user, orientation of the first user's foot or hand, etc.The measurements are taken during the physical activity of the firstuser, and are thus used for measuring the first user's physical activityin real time.

Optionally, the device measures the physical activity without directcontact with the first user's body (say using one or more cameras and anautomatic image processing based analysis of the first user's movementsduring the physical activity, as known in the art).

Optionally, the measurements that the values received by the valuereceiver 110 are extracted from are rather taken by a device deployed ona body part of the first user during the physical activity, say a deviceworn on the first user's foot or arm during the first user's physicalactivity, as described in further detail hereinbelow.

In one example, the device includes a computer (say a smart phone)connected to one or more sensors (say pressure meters such as an FSR(Force Sensitive Resistor), a gyroscope, an accelerometer, an IMU(Inertial Measurement Unit), etc.) that are attached to the user's bodyand are used for measuring the physical activity.

In the example, the device worn by the first user is used to measure thefirst user's physical activity by taking measurements of pressureapplied by muscle of the first user when extending an arm or a foot,measurements of angular orientation of the first user's arm or foot,etc., during the physical activity.

Optionally, the values received by the value receiver 110 includeresults of each measurement taken by the device (say the result of eachmeasured pressure, orientation, etc., as taken by the device worn by theuser).

Alternatively or additionally, the received values include valuescalculated by the device (say by the worn device's computer) from theresults, say one or more averages calculated over the results, asdescribed in further detail hereinbelow.

Thus, in one example, each one of the received values is an averagecalculated by the worn device from measurements taken during arespective three minutes period of the physical activity, from two ormore measurements taken on the first user's body during the respectivethree minutes period.

The apparatus 1000 further includes a deviation detector 120 incommunication with the value receiver 110, say a deviation detector 120implemented by programming the computer of the apparatus 1000.

The deviation detector 120 may detect a deviation of the physicalactivity of the first user from at least one previous physical activity.

The deviation detector 120 detects the deviation using the received oneor more values and one or more reference values calculated over at leastone value extracted from measurements of the at least one previousphysical activity, say according to a predefined criterion.

Optionally, the criterion is defined by an administrator or programmerof apparatus 1000 in advance of receiving the values, say as a part ofsetting up the apparatus 1000 using a dedicated GUI (Graphical UserInterface), as described in further detail hereinbelow.

Optionally the criterion is specific to a user (say per username, IDnumber, etc.), to a physical activity type, to a combination of a userand a physical activity type, etc. Accordingly, the criterion may beselected automatically by the deviation detector 120, or rather manually(say by the administrator) before the values are received by the valuereceiver 110, as described in further detail hereinbelow.

Optionally, the criterion defines which reference value is to be usedfor determining if the first user's physical activity deviates from theprevious physical activities, say from previous physical activities bythe first user.

Optionally, the measurements of the previous physical activities aremeasurements taken on a body part of the first user during the previousphysical activities, say using a device similar to the device worn bythe user, as described in further detail hereinabove.

Thus, in a first example, the physical activity is one of working with aspecific object (say a specific weight) in a gym, as known in art.

In the first example, before the first user starts working with thespecific object, the apparatus 1000 automatically selects a criterion tobe used for detecting a deviation from previous physical activities, sayaccording to physical activity type (say a criterion defined for workingwith a weight).

According to the selected criterion, a deviation is detected when one ofthe values received by the value receiver 110 crosses a reference valuethat is a threshold value calculated by averaging over pressure valuesmeasured on a user's arm muscle during previous exercises of the userwith the same object, and multiplying by 120%.

Thus, the criterion of the example is that the received value is atleast 20% higher than the average of the pressure values measured on theuser's arm muscle during the previous exercises (i.e. during theprevious physical activities of the first example).

Optionally, the physical activity involves a repeated cycle of movement,and each one of the reference values pertains to a different time (say adifferent time frame) within the repeated cycle of movement.

Thus, in one example, the physical activity is an indoor cycling sessiontaken by the first user, and the previous physical activities areprevious indoor cycling sessions taken by the first user.

In the example, the deviation detector 120 detects the deviation whenone of the values received by the value receiver 110 is out of an“envelope” made of reference values calculated over the previous indoorcycling sessions taken by the first user, as described in further detailhereinbelow.

Optionally, the one or more reference values are values calculated overa plurality of values extracted from measurements of physical activitiesof a plurality of users, say over values extracted from measurementstaken during previous physical activities of a same type, by other usersor by both the first user and other users.

Thus, in one example, the physical activity is one of exercising usingan object (say a weight) or a device (say a rowing machine) in a gym ora at physiotherapy clinic, and the reference values are calculated overvalues extracted from measurements of previous exercises by two or moreusers using that object or device.

Optionally, the apparatus 1000 further includes a command generator (notshown) in communication with the deviation detector 120, say a oneimplemented by programming the computer of apparatus 1000.

Optionally, upon the detection of the deviation by the deviationdetector 120, the command generator issues a command predefined by aprogrammer or administrator of apparatus 1000, to the computer of theapparatus 1000, as described in further detail hereinbelow.

Optionally, the command is defined by an administrator or programmer ofapparatus 1000, say as a part of the criterion for detecting thedeviation, as described in further detail hereinbelow.

Optionally, the apparatus further includes a gesture recognizer (notshown), in communication with the deviation detector 120, say a oneimplemented by programming the computer of apparatus 1000.

Only when the deviation detector 120 detects the deviation, are thevalues received by the value receiver 110 forwarded to the gesturerecognizer, for determining whether the received values represent agesture predefined by a programmer or administrator of apparatus 1000.

Optionally, for defining the gesture, there are defined ranges of values(say ranges of pressure values, orientation values, etc.) that thereceived values have to be within, in order for the gesture recognizerto recognize a user's movement made during the physical activity, as thegesture.

Optionally, for defining the gesture, there are defined threshold values(say of pressure values, orientation values, etc.) that the receivedvalues have to cross, in order for the gesture recognizer to recognize auser's movement made during the physical activity, as the gesture.

The value ranges, threshold values, or both, may be defined by aprogrammer or administrator of apparatus 1000, and stored in a databaseof gesture definitions, as described in further detail hereinbelow.

Optionally, the programmer or administrator further defines a commandthat the gesture is meant to trigger the issuance of, to be stored inthe database of gesture definitions, as a part of the gesture'sdefinition, as described in further detail hereinbelow.

Apparatus 1000's command generator may be in communication with thegesture recognizer, or rather with both the deviation detector 120 andthe gesture recognizer.

Optionally, upon detection of the deviation by the deviation detector120, the command generator issues a command to the computer—say acontrol instruction for turning on a camera controlled by the computer,a computer command that moves a graphical object or otherwise updatescontent presented on a screen of a headset used for virtual reality,augmented reality, etc., as know in the art.

Alternatively, the command generator issues the command only when inaddition to the detection of the deviation, the gesture recognizerrecognizes a predefined gesture that the user or administrator definesas meant to trigger the issuance of the command, as described in furtherdetail hereinabove.

Thus, in one example, the first user wears a device that uses a pressuremeter (say an FSR strip), an orientation measurer (say an IMU), or both,to extract the values later received by the value receiver 110, bymeasuring pressure applied by a muscle on a body part of the first userand an orientation of that body part.

In the example, when the first user performs a predefined gesture suchas a muscle operation or change in orientation of the body part, thereceived values extracted from the measured pressure applied by themuscle and the orientation of the body part are used to recognize thegesture performed by the first user.

Subsequently, the command generator issues the command based on thegesture's being recognized by the gesture recognizer.

However, in the example, only when the deviation detector 120 detectsthe deviation of the first user's physical activity from the previousphysical activities, are the received values forwarded to the gesturerecognizer.

Thus, in the example, only a movement with which the physical activitydeviates from the previous physical activities may be recognized as thepredefined gesture and as a result, trigger the issuance of the commandto the computer, as describe in further detail hereinbelow.

Optionally, the apparatus 1000 further includes a user conditionindicator (not shown), in communication with the deviation detector 120,say a one implemented by programming the computer of apparatus 1000, asdescribed in further detail hereinabove.

The user condition indicator may determine that the deviation detectedby the deviation detector 120 reflects a physical condition of the firstuser, say an improvement in the first user's performance (as comparedwith previous physical activity of the same type, say with previoussessions of biking by the first user).

When determining that the deviation reflects the condition, the usercondition indicator further presents an indication, say as a textualmessage or as a graphical message, say on a screen of the computer ofapparatus 1000 or on a website accessible over the internet by the firstuser or by his physician, etc.

Similarly, the user condition indicator may determine that the detecteddeviation reflects a medical condition—say an early stage of Parkinson'sdisease, say when a deviation detected by the deviation detector 120pertains to resting. The user condition indicator may then present anappropriate textual message to a physician on a screen of the computerof apparatus 1000.

In a first example, the first user is a professional athlete and thedetection of the deviation of the physical activity is based onreference values calculated over values extracted from measurements ofprevious physical activities of the first user, say of running sessionsor marathons.

In the first example, the gesture recognizer recognizes a movement madeby the first user during the physical activity as a gesture predefined,say by an administrator or programmer of apparatus 1000.

In the example, for implementing the gesture recognizer, the programmerprograms the computer to recognize the gesture when a user's arm alignsinto a specific lateral orientation and immediately following thatalignment, a pressure is applied by the user's arm muscle in a specificdirection.

The predefined gesture of the example is used by the first user forcommanding the computer to capture a picture of the first user, sayusing a camera connected to the computer, to start or stop a stopwatch,etc., as described in further detail hereinabove.

In the example, rather than being conditioned upon the received valuesonly, the command is issued only if both a deviation from a ‘base level’represented by the reference values is detected by the deviationdetector 120, and the predefined gesture is recognized by the gesturerecognizer.

That is to say that the gesture recognizer recognizes the first user'smovement as the predefined gesture, only if with that movement, thephysical activity of the first user deviates from the previous physicalactivities by the first user.

Indeed, as described in further detail hereinabove, only when thephysical activity deviates from the previous physical activities, arethe values forwarded to the gesture recognizer.

Thus, a movement of the first user that does not make the first user'sphysical activity deviate from the previous physical activities, evenwhen similar to the predefined gesture (say when the received values arewithin ranges predefined for the gesture), is interpreted as a part ofthe physical activity itself rather than the gesture.

Thus, in a one exemplary case, the physical activity is biking.

In the exemplary case, the gesture recognizer recognizes a rotationalmovement of the first user's foot as a predefined rotational gestureonly if additionally, a received value extracted from the measurementstaken during the rotational movement (and therefore the physicalactivity) deviates from the reference values.

In this biking example, the reference values are calculated based onvalues extracted from measurements taken during previous bikingactivities of the user, as described in further detail hereinbelow.

In a second example, the user is a person who suffers from Parkinson'sdisease.

One of the symptoms of Parkinson's disease is tremor at rest, asdescribed in further detail hereinabove.

In the second example, the values that are received by the valuereceiver 110 are values extracted from measurements taken during asession in which the first user rests, thus in the example, the measuredphysical activity is actually a one of resting (say of sitting orlying).

Only when the deviation detector 120 detects a deviation based on thereceived values and a reference value, does the deviation detector 120forwards the received values to the gesture recognizer.

In the example, using the received values forwarded by the deviationdetector 120, the gesture recognizer may recognize a gesture predefined,say by an administrator or programmer, say a gesture characterized by aspecific orientation of the first user's arm and a pressure applied bythe arm's muscle at a specific direction.

In the example, the gesture's definition by an administrator orprogrammer of apparatus 1000 includes a command that causes the computerto call the nurse, thus the gesture may be used by the first user toinstruct the computer to call the nurse, as described in further detailhereinbelow.

Further in the example, the reference value is a value calculated basedon values extracted from measurements taken from the first user duringprevious sessions, as the first user experiences tremor at rest, say byaveraging over pressure and orientation measurements taken during theprevious sessions.

In one case, based on a user-specific criterion predefined by anadministrator or programmer of apparatus 1000, when one of the valuesreceived during the rest is more than 10% larger than the referencevalue, the deviation detector 120 detects a deviation of the physicalactivity from the previous physical activities.

Following the detection of the deviation, the deviation detector 120forwards the received values to the gesture recognizer, and the gesturerecognizer determines if the received values represent the predefinedgesture.

However, in the example, it is assumed that with an unintentionalmovement that is a part of the first user's usual tremor at rest, evenwhen the movement is similar to the gesture in direction, angle,pressure applied by muscle, etc., none of the received values is likelyto be more than 10% larger than the reference value.

Thus, when staying within 10% difference from the reference value, theunintentional movement does not make the physical activity deviate fromthe first user's previous physical activities of rest. As a result, thereceived values are not forwarded to the gesture recognizer, and theunintentional movement is effectively construed as a one that is withinthe limits of the tremor usually experienced by the first user at restand that therefore, should not be construed to be the predefinedgesture.

Further in the example, a detected deviation from the “base level” oftremor at rest as represented by the reference value, may be interpretedas indicating a condition of the first user (say an alleviation of thetremor at rest symptoms after administration of a particular drug), asdescribed in further detail hereinbelow.

The apparatus 1000 may thus potentially help track changes in the firstuser's condition on a day to day basis, as well as throughout a longperiod of treatment.

Optionally, the apparatus 1000 further includes a reference valuecalculator (not shown) in communication with the deviation detector 120,the value receiver 110, or both, say a one implemented by programmingthe computer of apparatus 1000, as described in further detailhereinabove.

The reference value calculator calculates the reference value frompreviously received values extracted from measurements of one or moreprevious physical activities, say by averaging over the previouslyreceived values.

Optionally, the apparatus 1000 further includes a database of referencevalues (say a database implemented on a memory of the computer of theapparatus 1000), and the reference value calculator stores thecalculated reference values in the database of reference values, asdescribed in further detail hereinbelow.

Optionally, the database of reference values further includes avocabulary of physical activity types. The vocabulary defines for eachone of the physical activity types, one or more types of referencevalues that need to be calculated.

In one example, the vocabulary defines that for biking, there needs tobe calculated a series of value ranges (i.e. reference values) that makeup an “envelope”, say by running a linear regression or another linearapproximation method on the values extracted from the previouslymeasured physical activities.

In the example, the vocabulary further defines that for jogging, thererather needs to be calculated a single, standalone reference value byaveraging over values extracted from the previously measured physicalactivities.

Optionally, the reference value calculator further updates one or moreof the reference values based on the values extracted from themeasurements of the physical activity of the first user and received bythe value receiver 110, and stores the updated one or more referencevalues in the database of reference values.

Thus, in one example, the reference value used for detecting thedeviation is an average of physical pressure values measured duringprevious physical activities performed by the first user. In theexample, the reference value is recalculated based on both the valuesreceived by the value receiver 110 and the value of the reference valueprior to the receipt of the values by the value receiver 110, asdescribed in further detail hereinbelow.

According some of the present embodiments, a reference value may becalculated per user, per physical activity type, per user and physicalactivity type, etc.

Accordingly, in a first example, the database of reference values is auser-specific database dedicated to the first user only. In the example,the reference values in the database are accessible according to thetype of physical activity (say running, rowing, resting, etc.), sayusing indexes, primary keys, foreign keys, etc., as known in the art ofcomputer database design.

In a second example, the database of reference values is notuser-specific and rather holds reference values of more than one user.The non user-specific database is accessible according to physicalactivity type (say running, walking, resting, etc.), user, or acombination of user and physical activity type, say using indexes,primary keys, foreign keys, etc., as known in the art of computerdatabase design.

Optionally, the apparatus 1000 further includes a database of detecteddeviations (say a database implemented on a memory of the computer ofthe apparatus 1000), and the deviation detector 120 stores data onpreviously detected deviations in the database of detected deviations.

Optionally, the database of detected deviations holds only data thatpertains to the first user, and is thus a personal, user-specificdatabase that is dedicated to the first user only.

In one example, the data in the database of detected deviations that isdedicated to the first user only, is accessible according to the type ofphysical activity (say running, walking, resting, etc.), say usingindexes, primary keys, foreign keys, etc., as known in the art ofcomputer database design.

Optionally, the database of detected deviations holds data that pertainto two or more users, and is thus not user-specific.

In one example, the data in the database of detected deviations that isnot user-specific, is accessible according to a type of physicalactivity (say running, resting, etc.), a user, or a combination of userand activity type, say using indexes, primary keys, foreign keys, etc.,as known in the art.

Optionally, following any detection of a deviation by the deviationdetector 120, the deviation detector 120 updates the database ofdetected deviations with a database record that holds data on thedetected deviation.

In one example, the database record holds the received values extractedfrom the measurements of first user's physical activity, one or morereference values used for detecting the deviation, and a degree ofdeviation (say a difference or ratio calculated between the former two),etc.

In the example, the degree of deviation may be calculated, for example,by subtracting the reference value from one of the received values, bydividing the received value by the reference value, etc., as describedin further detail hereinbelow.

Optionally, the apparatus 1000 further includes a deviation evaluator(not shown), in communication with the deviation detector 120, thedatabase of detected deviation, or both the deviation detector 120 andthe database. Optionally the deviation evaluator is implemented byprogramming the computer of apparatus 1000, as described in furtherdetail hereinabove.

The deviation evaluator compares to the deviation detected by thedeviation detector 120 to the data stored in the database of detecteddeviations, for evaluating the detected deviation using the data on thepreviously detected deviations.

For example, when the first user is a patient who suffers from a motordisorder, the detected deviation may be compared to data on deviationsdetected previously for that first user (say using the degrees ofdeviation), so as to track the progress of the first user, as describedin further detail hereinbelow.

Optionally, the deviation evaluator further updates reference values,criterions, etc., in light of the comparison made with the data on thepreviously detected deviations, say by conditioning a re-calculation ofa reference value upon a trend of change in the deviation's degree, asdescribed in further detail hereinbelow.

Thus, in one example, the deviation evaluator updates a criterion usedby deviation detector 110 in light of a trend made of a sequence ofthree increases in the deviation's degree, say by lowering a percentagedifference from a reference value needed, according to the criterion,for a deviation be detected.

By updating the criterion, the deviation evaluator further adjusts asensitivity of apparatus 1000 to the values received by the valuereceiver 110 (and thus to the measurements) in light of the evaluationof the deviations detected by the deviation detector 120. Thus, forexample, the sensitivity may be made higher when the detected deviationsappear to weaken over time (say when the deviation's degree appears todecrease).

Reference is now made to FIG. 1B, which is a simplified block diagramschematically illustrating a second exemplary apparatus for physicalactivity measurement and analysis, according to an exemplary embodimentof the present invention.

A second exemplary apparatus according to an exemplary embodiment of thepresent invention includes the apparatus 1000 of FIG. 1A, a measurementdevice adapted to be worn on a user's arm 150, and a physical activitymonitoring device, as described in further detail hereinbelow.

In one example, the measurement device is embedded in a shirt worn on bya user, such that when the user wears the shirt, the measurement devicecomponents 151-154 are deployed on the user's arm 150. The components151-154 are connected by an electrically circuit 155 which isimplemented using conductive fibers embedded in the shirt—say using thinmetal strands woven into the construction of the shirt's textile.

In a second example, the components 151-154 are rather embedded in astrap that may be worn on the user's arm 150.

The measurement device includes one or more sensors, say a pressuremeter 152—such as a Force Sensing Resistor (FSR), an orientationmeasurer 151—such as a gyroscope, a GPS Receiver, a Differential GPSReceiver, etc., or any combination thereof, as described in furtherdetail hereinbelow.

Optionally, the sensors include one or more pairs of pressure meters 152which are arranged on the shirt or strap, such that when worn by theuser, each two pressure meters 152 of a pair are deployed on oppositesides of a preferable area of the user's arm 150.

In one example, the pair of pressure meters 152 is positioned overopposite sides of the arm's 150 muscle and serve as control referencesfor each other, as providers of complementary information, etc.

Similarly, the sensors may include one or more pairs of orientationmeasurers 151 that are arranged on the shirt or strap, such that whenworn by the user, each two orientation measurers 151 of a pair aredeployed on preferable areas of the arm 150, say on areas positionedover opposite sides of the arm's 150 muscle.

Optionally, the two orientation measurers 151 serve as controlreferences for each other, as providers of complementary information,etc.

The measurement device further includes a computer processor 153,connected to the sensors.

The computer processor 153 is configured (say by programming) to use thesensors for measuring a physical activity of the user, by takingmeasurements of pressure applied by the arm's 150 muscle, by takingmeasurements of the arm's orientation, etc., as described in furtherdetail hereinabove.

The computer processor 153 is further configures (say by theprogramming), to extracts values from the measurements taken using thesensors and to forward the extracted values to apparatus 1000, asdescribed in further detail hereinabove.

The computer processor 153 may include, but is not limited to: amicroprocessor, a microcontroller (typically having a processing unit aswell as a fixed amount of RAM, ROM and other peripherals, embedded on asingle chip), etc.

The computer processor 153 may also include, but is not limited toanother hardware component (say an integrated circuit) capable of usingthe sensors for taking the measurements and for performing calculationsbased on the measurements, in order to extract the values from themeasurements.

The measurement device further includes a data transmitter 154 alsoembedded in the shirt or strap. The data transmitter 154 is connected tothe computer processor 153 (say by the electrical circuit 155 which isimplemented using conductive fibers embedded in the shirt, or throughanother wired or wireless connection, as known in the art).

Optionally, apparatus 1000 is implemented on the physical activitymonitoring device, and the data transmitter 154 transmits the extractedvalues over a wireless (say using Bluetooth®) or wired connection, tothe physical activity monitoring device, say to the value receiver 110,as described in further detail hereinbelow.

Alternatively, apparatus 1000 is rather implemented on the measurementdevice itself, say on the computer processor 153, and the datatransmitter 154 rather transmits control instructions issued by theapparatus 1000 to the physical activity monitoring device, as describedin further detail hereinbelow.

The physical activity monitoring device may include one or more hardwareand/or software components.

In one example, the physical activity monitoring device includes avehicle 190—say an aerial vehicle 190 such a quadcopter.

In the example, the physical activity monitoring device further includesa controller 191 deployed on the vehicle 190, for controlling themovement of the vehicle 190—say as a programmed microchip 191 thatcontrols the aerial vehicle's 190 rotor engines, wings, etc., as knownin the art.

The controller 191 maneuvers the vehicle 190 based the controlinstructions, as known in the art.

Optionally, the control instructions are issued by the apparatus 1000(when implemented on the measurement device) and are wirelesslytransmitted to the controller 191 by the data transmitter 154, asdescribed in further detail hereinabove.

Alternatively, the control instructions are issued by the apparatus 1000on the physical activity monitoring device itself (when the apparatus1000 is implemented thereon), as described in further detailhereinabove.

In the example, the physical activity monitoring device further includesother components.

The other components may include, but are not limited to: a camera192—for capturing stills and/or video images of the user, amicrophone—for capturing audio signals (say for allowing the user tovocally comment on events, in real time, during the physical activity),etc., or any combination thereof.

The components of the physical activity monitoring device mayalternatively or additionally include a stopwatch, a timer, a datastorage (say a flash memory), a cellular modem (say for forwarding theimages and vocal comments, live to a remote computer), etc., or anycombination thereof.

By moving his arm 150 in a specific way (say by aligning the arm in aspecific orientation) as per a gesture predefined by a programmer ofapparatus 1000, the user may control the physical activity monitoringdevice, using control instructions issued by the apparatus 1000 uponrecognition of the arm's 150 movement as the gesture.

However, in order to avoid erroneous recognition of an unintentionalmovement of the arm or of a movement that is a natural part of aphysical activity performed by the user, as the predefined gesture, themovement of the arm 150 must also make the physical activity deviatefrom previous physical activities of the user.

To that end, the deviation detector 120 of apparatus 1000 forwards thevalues extracted from the measurements taken using the sensors toapparatus 1000's gesture recognizer only when detecting a deviation ofthe physical activity from the previous physical activities of the user,as described in further detail hereinabove.

Thus, in one example, a user rafting in a canoe and wearing a suit inwhich the measurement device with the above described pressure meter152, orientation measurer 151, computer processor 153 and datatransmitter 154, are embedded, is allowed to control the physicalactivity monitoring device.

In the example, the physical activity monitoring device includes aquadcopter 190, a video camera 192, and a controller 191 which controlsboth the quadcopter 190 and the video camera 192, as described infurther detail hereinbelow.

In the example, pressure applied by the user's arm 150 muscle—asmeasured by the pressure meter 152, changes in the arm's 150orientation—as measured by the orientation measurer 151, or both, areused by the user to control the physical activity monitoring device,even while the user's hands are busy rowing.

Further, orientations and pressures that are within limits set asreference values calculated for rowing, using values extracted frommeasurements of previous physical activities of rowing by the user, arenot erroneously recognized as the predefined gesture, and as a result,do not control the physical activity monitoring device.

Further in the example, GPS data generated by the orientation measurer151 may be transmitted to the controller 191, and used by the controller191, to maneuver the quadcopter 190. The GPS data may be used by thecontroller 191, to maneuver the quadcopter 190, so as to have thequadcopter 190 follow the rafting canoe, down a river, from above, asdescribed in further detail hereinbelow.

In the example, throughout the rafting, both of the user's arms are busyrowing the canoe. However, when arriving at a certain segment of theriver, the user spontaneously wishes to have the video camera 192 takevideo images around the canoe.

To that end, the user changes the tension of the muscle of the user'sarm 150—say by twice repeating a strengthening and weakening of theuser's grip over the canoe's paddle, by changing the angle of the grip,etc.

The muscle tension changes are sensed by the pressure meter 152 whichcontinuously measures the pressure applied by the muscle of the arm 150.

Based on the changes sensed by the pressure meter 152, the computerprocessor 153 extracts values, and forwards the extracted values to thevalue receiver 110 of apparatus 1000.

Then, using the received values, the deviation detector 120 detects adeviation of the user's physical activity from the previous physicalactivities, and issued a control instruction for the controller 191 toinitiate a zoom-in and image capture operation of the video camera 192and to maneuver the quadcopter 190 so as to fly in a circle over theuser.

When receiving the control instruction, the controller 191 immediatelyactuates the camera 192 to zoom in on the user, and controls thequadcopter's 190 rotor engines, so as to maneuver the quadcopter 190 tofly in a circle over the user.

Reference is now made to FIG. 2A, which is a simplified flowchartschematically illustrating a first exemplary method of physical activitymeasurement and analysis, according to an exemplary embodiment of thepresent invention.

The first exemplary method may be implemented on a computer, say on thecomputer of apparatus 1000, as described in further detail hereinabove.

The computer may include, but is not limited to: a computer in aclinical environment such as a physiotherapy clinic or a hospital'sneurological department, a computer in use at a gym or at another sportfacility, a user's desktop computer, smart phone, tablet, or laptopcomputer, etc., as described in further detail hereinabove.

Optionally, for carrying out one or more of the method's steps, thecomputer communicates with a device used to measure a physical activityof a user, for receiving 210 values extracted from measurements of thephysical activity, as described in further detail hereinabove.

In the exemplary method, there is thus received 210 one or more valuesextracted from measurements of a physical activity of a first user, sayby the value receiver 110 of apparatus 1000, as described in furtherdetail hereinabove.

The physical activity may include, but is not limited to, walking,running, swimming, biking, skiing, rowing, skating, dancing, operating amechanical device used for physiotherapy or for exercising in gym,resting (say sitting), operating computer mouse, etc., as described infurther detail hereinbelow.

Optionally, the values are received 210 through communication with adevice used to take measurements of physical parameters such as pressureapplied by a muscle of the first user, orientation of the first user'sfoot or arm, etc., during the physical activity of the first user, thusmeasuring the physical activity of the first user.

Optionally, the device measures the physical activity without directcontact with the first user's body (say using one or more cameras and anautomatic image processing based analysis of the first user's movementsduring the physical activity, as known in the art).

Optionally, the measurements that the received 210 values are extractedfrom are rather taken by a device deployed on a body part of the firstuser during the physical activity of the first user, as described infurther detail hereinabove.

Thus, in one example, the device communicated with is worn by the userduring the physical activity. In the example, the device includes one ormore sensors (say a pressure meter such as an FSR (Force SensitiveResistor), a gyroscope, an accelerometer, an IMU (Inertial MeasurementUnit), etc.), as described in further detail hereinabove.

In the example, the device worn by the first user may be used to measurethe first user's physical activity by taking measurements of pressureapplied by an arm muscle of the first, measurements of angularorientation of the first user's arm or foot, etc., during the physicalactivity, thus extracting the values, as described in further detailhereinabove.

Optionally, the received 210 values include results of each measurementtaken by the device during the physical activity (say the result of eachmeasured pressure, orientation, etc., as taken by the device worn by thefirst user), as described in further detail hereinabove.

Alternatively or additionally, the received 210 values include valuescalculated (and thus extracted) by the device from the results (sayvalues calculated by the device worn by the user), as described infurther detail hereinabove.

Thus, in one example, each one of the received 210 values is an averagecalculated by the worn device from measurements taken during arespective three minutes period of the physical activity, from two ormore measurements taken on the first user's body during that threeminutes period.

Later, when found 220 to be the case, there is detected 220 a deviationof the physical activity of the first user from at least one previousphysical activity, say by the deviation detector 120 of apparatus 1000,as described in further detail hereinabove.

The deviation is detected 220 using the received 210 one or more valuesand one or more reference values calculated over at least one valueextracted from measurements of the at least one previous physicalactivity, say according to a predefined criterion, as described infurther detail hereinbelow.

Optionally, the criterion, one or more reference values, or both, areselected automatically, say according to the first user's identity (sayusername, patient number, etc.), the physical activity's type, per aselection made by the administrator using a GUI, etc., or anycombination thereof.

Optionally, the criterion is defined by an administrator or programmerof apparatus 1000 in advance of receiving 210 the values, say as a partof setting up the apparatus 1000 (say using a GUI) or programming thecomputer of the apparatus 1000, as described in further detailhereinbelow.

Per the definition by the administrator or programmer, the criterion maybe specific to a user, to a type of a physical activity, to acombination of user and physical activity type, or rather be moregeneral. Accordingly, the criterion may be selected by the deviationdetector 120, according to the user, the type of the physical activity,or both, as described in further detail hereinabove.

For example, the administrator may define a user-specific criterionaccording to which, any deviation of a value received 210 for ‘John Man’that is 10% lower or higher than a reference value calculated perphysical activity type, is to trigger a detection 220 of a deviation ofthe physical activity from previous physical activities.

In the example, a deviation of a physical activity (say a KickboxingSession) by John Man from previous physical activities of a same type(say also of Kickboxing but by other users) may thus be detected 220based on one of the values received 210 during John Man's physicalactivity being 11% lower than the reference value.

Accordingly, when values extracted from a physical activity by John Manare received 210, the user-specific criterion pertaining to valuesreceived 210 for ‘John Man’ is automatically selected and may serve as abasis for detecting 220 a deviation of John Man's activity from theprevious physical activities.

Optionally, the one or more previous physical activities that thedeviation may be detected 220 from, are previous physical activities ofthe first user (i.e. of the same user).

For example, the measurements of the one or more previous physicalactivities may be measurements taken on a body part of the first userduring the one or more previous physical activity, say using a devicesimilar to the device worn by the user, as described in further detailhereinabove.

Thus, in a first example, the first user's physical activity is one ofworking with a specific object (say a specific weight) in a gym, asknown in art.

In the first example, according to the predefined criterion, thedeviation is detected 220 when one of the received 210 values is atleast 20% higher than a reference value calculated by averaging overpressure values measured on an arm muscle of the first user duringprevious exercises with the same object.

Optionally, the reference value is a threshold value. The thresholdvalue may represent a minimal limit or a maximal limit for the received210 values. Accordingly, in order for the deviation to be detected 220,one of the received 210 values needs to be lower or higher than thereference value, respectively.

Optionally, the physical activity that the received 210 values areextracted from the measurements of, and the previous physical activitiesare separate—say two or more activities performed on different days,during different physiotherapy sessions, etc.

Optionally, the physical activity that the received 210 values areextracted from the measurements of and the previous physical activitiesare rather parts of a single physical activity—say a later part and aformer part of a single marathon, training session, exercise, etc.

Optionally, the previous physical activity involves a repeated cycle ofmovement, and each one of the reference values pertains to a differenttime (say a different time frame) within that cycle of movement that isrepeated through the previous physical activity.

Thus, in one example, the physical activity is an indoor cycling sessiontaken by the first user, and the previous physical activities areprevious indoor cycling sessions taken by the first user (i.e. by thesame user).

In the example, the deviation is detected 220 when one of the received210 values is out of an “envelope” made of reference values calculatedover the previous indoor cycling sessions taken by the first user—saywhen one of the received 210 values deviates from one of the referencevalues that make up the envelope, as described in further detailhereinbelow.

Optionally, the one or more reference values are values calculated overa plurality of values extracted from measurements of physical activitiesof a plurality of users, say over values extracted from measurementstaken during previous physical activities of a same type by other usersor by both the first user and other users.

Optionally, the reference values are calculated based on referencevalues extracted from measurements taken on the first user's body usingmore than one sensor, as described in further detail hereinbelow.

In one example, the physical activity is one of exercising using anobject (say a weight) or a device (say a rowing machine) in a gym or aat physiotherapy clinic, and the reference values are calculated overvalues extracted from measurements of exercises by previous users usingthat object or device.

Optionally, upon the detection 220 of the deviation, there is issued apredefined command to a computer (say a command defined in advance ofthe physical activity, say by a programmer or administrator of apparatus1000), say by the command generator of apparatus 1000, as described infurther detail hereinabove.

Optionally, only when the deviation is detected 220, are the received210 values used for determining whether the received 210 valuesrepresent a predefined gesture (say a gesture defined earlier by anadministrator of apparatus 1000 using a GUI), say by the gesturerecognizer, as described in further detail hereinabove.

Optionally, for defining the gesture, there are defined ranges of values(say ranges of pressure values, orientation values, etc.) that thereceived 210 values have to be within, in order for a user's movementmade during the physical activity measured for extracting the received210 values, be recognized as the predefined gesture.

Optionally, for defining the gesture, there are defined one or morethreshold values (say for pressure, orientation, etc.) that at least oneof the received 210 values has to cross, in order for a user's movementmade during the physical activity measured for extracting the received210 values, be recognized as the gesture.

The threshold value may represent a minimal limit or rather a maximallimit for the received 210 value. Accordingly, in order for the gestureto be detected, the received 210 value needs to be lower than thereference value, or higher than the reference value, respectively.

Optionally, the value ranges, threshold values, or both, are defined bya programmer or administrator of apparatus 1000 and stored in a databaseof gesture definitions, as described in further detail hereinbelow.

Optionally, as a part of defining the gesture, there is further defineda command that the gesture is meant to trigger the issuance of, say acommand to be issued by the command generator of apparatus 1000, asdescribed in further detail hereinabove.

Optionally, upon detection 220 of the deviation (with or without thegesture's being recognized) there is issued a command—say a controlinstruction issued on the computer of apparatus 1000, for instructing acamera controlled by the computer to capture an image with the camera,as described in further detail hereinabove.

Alternatively, the command is issued only when in addition to thedetection 220 of the deviation, the first user's movement is recognizedas the predefined gesture meant to trigger the issuance of that commandto the computer of the apparatus 1000, as described in further detailhereinabove.

Thus, in one example, the first user wears a device that uses a pressuremeter (say an FSR strip), an orientation measurer (say an IMU), or both,to extract the values later received 210 by the value receiver 110, bymeasuring pressure applied by a muscle on the body part of the firstuser and an orientation of the body part.

In the example, when the first user performs a predefined gesture suchas a specific muscle operation or change in orientation of the bodypart, the received 210 values extracted from the measured pressureapplied by the muscle and orientation of the body part may be used torecognize the gesture performed by the first user.

Thus, in the example, the first user may control the computer using agesture such as a wrist or arm muscle contraction as used for clicking acomputer mouse or as if clicking a computer mouse, a contraction of afoot muscle, an alignment of an arm into a lateral orientation, etc., asdescribed in further detail hereinbelow.

In the example, a device worn by the user uses a pressure meter (say anFSR strip) and an orientation measurer (say an IMU), to takemeasurements of pressure applied by a muscle on a body part of the firstuser and of orientation of the body part.

The pressure and orientation change when the user performs the gesture,and as a result, values extracted from the measurements taken by thedevice worn by the user, reflect the change. The extracted values arewirelessly communicated to the computer of apparatus 1000 and arereceived 210 by the value receiver 110, as described in further detailhereinabove.

When the first user performs the predefined gesture, the received 210values are used (say by the gesture recognizer) to recognize the gesture(i.e. to determine that the first user performs the gesture during thephysical activity), as described in further detail hereinbelow.

However, in the example, only when there is detected 220 the deviationof the first user's physical activity from the previous physicalactivity, can the predefined gesture be recognized (say by the gesturerecognizer) based on the received 210 values, as described in furtherdetail hereinabove.

Thus, in the example, only a movement with which the physical activitydeviates from the previous physical activity may also be recognized asthe predefined gesture and as a result, trigger the issuance of thecommand to the computer, as describe in further detail hereinabove.

Additionally or alternatively, there may be determined that the detected220 deviation reflects a physical condition of the first user—say animprovement in fitness (as compared with previous physical activities ofthe same type, say biking sessions by the first user). Optionally, thedetermination that the detected 220 deviation reflects the physicalcondition is made by the condition indicator, as described in furtherdetail hereinabove.

Optionally, when determining that the deviation reflects the condition,there is further presented an indication, say as a textual or graphicalmessage presented on a screen of the computer of apparatus 1000 or on awebsite accessible, say by the condition indicator, as described infurther detail hereinabove.

Similarly, in the method, there may be determined that the detected 220deviation reflects a medical condition—say an early stage of Parkinson'sdisease (say when the detected 220 deviation pertains to resting). Anappropriate textual or graphical message may then be presented, say to aphysician on a screen of the computer of apparatus 1000, as described infurther detail hereinabove.

In one example, the first user is a professional athlete and thedetection 220 of the deviation of the physical activity is based onreference values calculated over measurements made during previoustraining sessions taken by the first user, during a previous physicalactivity such as a marathon, a bike cycling event (say a sprint), etc.

Further in the example, there may be recognized a gesture predefined byan administrator or programmer of apparatus 1000, say by the gesturerecognizer of the apparatus 1000.

In the example, for implementing the gesture recognizer, a programmermay program the computer to recognize the gesture when a user's armaligns into a specific lateral orientation and immediately followingthat alignment, a pressure is applied by the arm's muscle in a specificdirection.

Further in the example, the predefined gesture is used by the first userfor commanding the computer to capture a picture of the first user, sayusing a camera connected to the computer, to start or stop a stopwatch,etc.

However, the command is issued only if both a deviation from a ‘baselevel’ represented by the reference values is detected 220 (say by thedeviation detector 120), and the predefined gesture is recognized (sayby the gesture recognizer), as described in further detail hereinabove.

That is to say that the gesture recognizer recognizes a first user'smovement as the predefined gesture, only if with that movement, thephysical activity of the first user deviates from the previous physicalactivities by the first user. Indeed, only when the physical activitydeviates from the previous physical activities, are the received 210values forwarded to the gesture recognizer, as described in furtherdetail hereinabove.

Thus, a movement of the first user that does not make the first user'sphysical activity deviate from the previous physical activities, evenwhen similar to the predefined gesture (say when the received 210 valuesare within ranges predefined for the gesture), is interpreted as a partof the physical activity rather than the gesture.

In one exemplary case, the physical activity is biking and using thereceived 210 values, a rotational movement of the first user's footduring the physical activity may be recognized as a predefinedrotational gesture. However, as a prerequisite to recognizing thegesture, there must also be detected 220 a deviation of the physicalactivity from previous physical activities of biking by the first user.More specifically, there must be verified 220 that the received 210values extracted from the measurements taken during the rotationalmovement (say the measured values) deviate from the reference values.

In this biking example, the reference values that represent that ‘baselevel’ are calculated based on values extracted from measurements takenduring previous biking activities of the first user, and that footmovements that are a natural part of pushing the bicycle's paddles arenot supposed to deviate from.

In a second example, the first user is a person who suffers fromParkinson's disease.

One of the symptoms of Parkinson's disease is tremor at rest thatconsists of a shaking or oscillating movement, and usually appears whena person's muscles are relaxed, or at rest, as described in furtherdetail hereinabove.

In the second example, the received 210 values are values extracted frommeasurements taken during a session in which the first user rests, thusin the example, the measured physical activity is actually a one ofresting (say of sitting or lying).

Only when there is detected 220 a deviation based on the received 210values and a reference value, are the received 210 values subject to astep in which the predefined gesture may by recognized based on thereceived 210 values, say by the gesture recognizer of apparatus 1000, asdescribed in further detail hereinabove.

Optionally, the predefined gesture is characterized by a combination ofa specific orientation of the upper arm and a pressure applied by theupper arm at a specific direction.

In the example, the gesture's definition further includes a command thatcauses a computer (say the computer of apparatus 1000) to call thenurse, thus the gesture may be used by the first user to instruct thecomputer to call the nurse, as described in further detail hereinabove.

In the example, one reference value is calculated based on valuesextracted from measurements of previous physical activities. Morespecifically, the reference value is calculated based on measurementstaken from the first user during the previous sessions, as the firstuser experiences tremor at rest. For example, the reference value may becalculated by averaging over values extracted from pressure andorientation measurements taken during the previous sessions.

In one case, based on a criterion predefined by an administrator orprogrammer of apparatus 1000, when one of the values received 210 duringthe rest is more than 10% larger than the reference value, there isdetected 220 a deviation of the physical activity from the previousphysical activities.

Based on the detection 220, the received 210 values are forwarded to astep in which there is determined if the received 210 values representthe predefined gesture.

However, in the case, it is assumed that with an unintentional movementthat is a part of the user's usual tremor at rest, even when themovement is similar to the gesture in direction, angle, etc., none ofthe received 210 values is likely to be more than 10% larger than thereference value. The received 210 values that are extracted fromunintentional movements during the physical activity are thus negated inas far as recognizing the gesture is concerned.

Thus, when staying within the 10% difference from the reference value,the unintentional movement does not make the physical activity deviatefrom the previous physical activities of rest. As a result, the received210 values are not forwarded to the step in which there is determined ifthe received 210 values represent the predefined gesture. Theunintentional movement is thus effectively construed as a one that iswithin the limits of the tremor usually experienced by the first user atrest and that therefore, should not be construed to be the predefinedgesture.

Further in the example, a detected 220 deviation from the “base level”of tremor at rest as represented by the reference value may beinterpreted as indicating a condition of the user (say an alleviation oftremor at rest symptoms), say by the condition indicator, as describedin further detail hereinabove.

In a third example, the first user is a tennis player whose movementsduring a tennis match are measured (say using a device worn by the user,as described in further detail hereinabove), and are captured using avideo camera controlled by the computer of apparatus 1000.

In the example, only upon both a detection 220 of a deviation of thefirst user's physical activity (i.e. tennis) from the previousactivities (say previous tennis matches) and a recognition of one of asmall number of predefined gestures, is a movement as captured in thevideo recorded by the computer in a video file.

More specifically, in the example, a coach wishes that a video briefmade of events of interest to the coach, that occur during the match(say Volley Events, Net events, Smashes, etc.) be prepared automaticallyby apparatus 1000.

To that end, an administrator of apparatus 1000 may define, for example,a gesture that corresponds to a Volley Event, say by defining a valuerange for an orientation of a user's arm to be in, in order for thegesture that corresponds to the Volley Event to be recognized.

In the example, the administrator further defines a criterion fordetecting 220 any deviation of the user's physical activity fromprevious physical activities of the user.

The criterion is not user-specific, but is specific for tennis.According to the criterion, a pressure measured on a user's arm mustcross a reference value (i.e. a threshold), in order for a deviation ofthe user's physical activity from previous physical activities of theuser to be detected 220.

In the example, the administrator further defines the reference value(say using a GUI) as a value to be calculated by averaging over valuesextracted from pressure measurements taken on the user's arm during theuser's previous physical activities of playing tennis, and multiplyingthe result of the averaging by 1.30.

Subsequently, only when an arm-muscle-applied pressure measured by thedevice is higher than 1.30×the average of the values extracted frompressure measurements taken on the user's arm during the user's previousphysical activities of playing tennis, is the deviation of the user'sphysical activity detected 220.

More importantly, only when both an arm movement of the user during thematch makes the physical activity be detected 220 as deviating from theprevious physical activities, and the user's arm aligns in anorientation that is within the predefined range, is the gesturerecognized and the movement recorded in the brief.

Optionally, the method further includes a preliminary step ofcalculating the reference values from previously received valuesextracted from one or more previous physical activities, say by thereference value calculator of apparatus 1000, as described in furtherdetail hereinabove. In one example, the reference values are calculatedby averaging over the previously received values, as described infurther detail hereinabove.

Optionally, the calculated reference values are stored in a database ofreference values, say a database implemented on a memory of the computerof the apparatus 1000, as described in further detail hereinabove.

Optionally, whenever receiving 210 values extracted from measurements ofa physical activity of the first user, one or more of the referencevalues is updated based on the recently received 210 values, and storedin the database of reference values, as described in further detailhereinabove.

Optionally, the one or more of the reference values as stored in thedatabase of reference values is updated based on the recently received210 values in an asynchronous way.

In one example, the database is implemented on a server remote from anarea in which the physical activity (say running) takes place, and thedatabase is updated through wireless internet communication, say whenthe user is not far from a public hotspot.

However, in the example, only a part of the area is covered by publichotspots.

In the example, when the user is in a part of the area that is notcovered by any of the hotspots, the reference value is temporarilystored and updated in a buffer. Upon arrival of the first user at a partof the area that is covered by one of the hotspots, the updated value iscommunicated to the database over the internet, and is used to overridethe reference value as previously stored in the database.

In one example, the received 210 values are values extracted frommeasurements of pressure applied by the first user's arm muscle, duringthe physical activity, and the reference value used for detecting 220the deviation is an average of previously received values. Thepreviously received values are values extracted from measurements ofpressure applied by the first user's arm during the previous physicalactivities—i.e. from the measurements of the previous physicalactivities.

In the example, according to a predefined criterion, the deviation isdetected 220 whenever one of a received 210 values is at least 20%higher than the reference value calculated by averaging over the valuesextracted from the measurements of the previous physical activities.

Further in the example, the reference value is re-calculated based onboth the reference value's value prior to receipt 210 of the values, andthe received 210 values.

According to exemplary embodiments, a reference value may be calculatedper user, per physical activity type, per user and physical activitytype, etc.

Accordingly, in a first example, the database of reference values is auser-specific database dedicated to the first user only. Further in theexample, the reference values in the database are accessible accordingto the type of physical activity (say running, rowing, resting, etc.),say using indexes, primary keys, foreign keys, etc., as known in the artof computer database design.

In a second example, the database of reference values is notuser-specific and rather holds reference values of more than one user.Further in the example, the reference values in the database areaccessible according to physical activity type (say running, resting,etc.), user, or user and physical activity type, say using indexes,primary keys, foreign keys, etc., as known in the art of computerdatabase design.

Optionally, the method further includes a step in which data on thedetected 220 deviation is added (say by the deviation detector 120) to adatabase that already stores data on previously detected deviations. Thedatabase of detected deviations may be implemented, for example, on amemory of the computer of the apparatus 1000, as described in furtherdetail hereinabove.

Optionally, the database of detected deviations holds only data thatpertains to the first user, and is thus a personal, user-specificdatabase that is dedicated to the first user only.

In one example, the data in the database of detected deviations that isdedicated to the first user, is accessible according to the type ofphysical activity (say running, walking, resting, etc.), say usingindexes, primary keys, foreign keys, etc., as known in the art ofcomputer database design.

Optionally, the database of detected deviations holds data that pertainsto two or more users, and is thus not user-specific.

In one example, the data in the database of detected deviations that isnot user-specific, is accessible according to the type of physicalactivity (say running, resting, etc.), user, or a combination of userand activity type, say using indexes, primary keys, foreign keys, etc.,as known in the art.

In one example, the database of detected deviations is updated with adatabase record that holds the received 210 value extracted from thefirst user's physical activity, a reference value used to detect 220 thedeviation and the deviation's degree (say a difference or ratiocalculated between the former two), etc.

Optionally, the method further includes a step in which the detected 220deviation is evaluated, say by the deviation evaluator of apparatus1000, as described in further detail hereinabove.

Thus, in one example, the detected 220 deviation is compared to datastored in the database of detected deviations, for evaluating thedetected 220 deviation using data on previously detected deviations thatis stored in the database.

For example, when the first user is a patient who suffers from a motordisorder, the detected 220 deviation may be compared to data ondeviations previously detected for that first user (say using thedegrees of deviation), so as to track the progress of the first user, asdescribed in further detail hereinabove.

Further in the method, the reference values, criterions, etc., may beupdated in light of the comparison made with the data on the previouslydetected deviations, say by conditioning a re-calculation of one of thereference values upon a specific trend of change in the deviation'sdegree, as described in further detail hereinabove.

Thus, in one example, a criterion used by deviation detector 110 isupdated in light of a trend made of three consecutive increases in thedeviation's degree, say by lowering a percentage of difference from areference value that is needed for a deviation from the previousactivity to be detected according to the criterion.

By updating the criterion, there is further adjusted a sensitivity ofthe method to the received 210 values (and thus to the measurements) inlight of the evaluation of the detected 220 deviations, as described infurther detail hereinabove.

Reference is now made to FIG. 2B, which is a simplified flowchartschematically illustrating a second exemplary method of physicalactivity measurement and analysis, according to an exemplary embodimentof the present invention.

The second exemplary method may be implemented on a computer, say on thecomputer of apparatus 1000, as described in further detail hereinabove.

The computer may include, but is not limited to: a computer in aclinical environment such as a physiotherapy clinic or a hospital'sneurological department, a computer in use at a gym or at another sportfacility, a user's desktop computer, smart phone, tablet, or laptopcomputer, etc., as described in further detail hereinabove.

In a set-up step 300 of the second exemplary method, there is definedone or more criterions to be used as a basis for detecting 320 adeviation of a physical activity of a user from one or more previousphysical activities, say by an administrator of apparatus 1000, asdescribed in further detail hereinabove.

The criterions may be stored in a dedicated database, be embedded incomputer code used to implement the method, etc., or any combinationthereof, as described in further detail hereinabove.

Optionally, in the set-up step 300, there is further defined a command(say a control instruction) to be issued upon detection of thedeviation, as described in further detail hereinabove. The command maybe stored in a dedicated database, embedded in computer code used toimplement the method, etc., or any combination thereof, as described infurther detail hereinabove.

Optionally, in the set-up step 300, there is further defined gesturerecognition data—say threshold values or value ranges for a user'smovement made during a physical activity to be recognized as thegesture, as described in further detail hereinabove. The gesturerecognition data may be stored in a dedicated database, embedded incomputer code used to implement the method, etc., or any combinationthereof, as described in further detail hereinabove.

Optionally, the gesture definition data further specifies a command tobe issued upon recognizing a user's movement during a physical activityof the user as the predefined gesture, as described in further detailhereinabove.

Optionally, in the set-up step 300, there are further defined criterionsto be used as a basis for providing an indication on a user's condition(say on a computer screen or a web page), based on the detected 320deviation of the user's physical activity, as described in furtherdetail hereinabove. The criterions may be stored in a dedicateddatabase, be embedded in computer code used for implementing the method,etc., or any combination thereof, as described in further detailhereinabove.

Next, during a preliminary learning period, for each one of severalphysical activities, there are received 301 one or more values extractedfrom measurements of the physical activity, say from measurements ofpressure and orientation, as taken on a body part of the user, asdescribed in further detail hereinabove.

Based on the received 301 values, there are calculated 302 one of morereference values, and stored 302, say in a database of reference values,as described in further detail hereinabove.

Optionally, the calculated 302 reference values include thresholdsvalues, value ranges, or both, that serve as a kind of a “base level” of“normal limits” for values extracted from measurements of a physicalactivity, as expected based on the previous physical activities, asdescribed in further detail hereinabove.

The threshold values and value ranges define “borderlines” for “normal”values extracted from measurements of a physical activity that are madeusing a single sensor or rather using two or more similar or differentsensors that work in unison.

In one example, the values are extracted from measurements taken usingan accelerometer and a gyroscope, to give sets of three eight bitvalues, each of which sets represents a body part's directional andangular speed, as well as the body part's orientation, during arespective time of measurement.

In the example, one of the calculated 302 reference value may be a setof three value ranges. Each one of the three value ranges limits arespective one of the three eight bit values. Accordingly, when 310received later, a deviation of one of three values extracted from alater physical activity from the respective value range is a basis fordetection 320 of a deviation from previous physical activities, asdescribed in further detail hereinbelow.

Optionally, at least some of the calculated 302 reference values make upan “envelope” that serves as a kind of a “base level” of “normal limits”for values extracted from measurements of a physical activity, asexpected based on the previous physical activities, as described infurther detail hereinabove.

The “envelope” is made of two or more reference values that may includethreshold values, value ranges, or both. Each of the reference values ismapped to a specific time frame within a cycle repeated through aphysical activity. The “envelope” thus adds a time dimension to thereference values and represents a flow of reference values along thetime period of the cycle.

For example, one exemplary “envelope” that pertains to biking, mayinclude a series of value ranges for pressure measured on a foot of abicycle biker when biking, each of which ranges pertains to a differenttime frame within a cycle of pressure changes expected to repeat duringthe biking.

Indeed, when riding a bicycle, a bike paddle completes a full cycleevery few seconds, say every seven seconds. In the cycle, when startingwith a peak, there is a push downwards using body weight as well as footmuscle. Then, there is a relaxation period that starts when the paddlereaches the lowest point and ends when the paddle is back at the peak.

An exemplary “envelope” of reference values for such a biking activity,may thus include seven value ranges—one value range per each one secondlong time frame within the seven seconds long cycle. The ranges maypertain to pressure applied by the foot muscle, to an orientation of thefoot, or to both, as described in further detail hereinabove.

Optionally, one or more of the value ranges are calculated 302 bycalculating an average and a standard deviation over two or more of thereceived 301 values and using the average and standard deviation todefine a minimum and maximum for the value range, as known in the art.

Optionally, one or more of the reference values are calculated 302 byrunning a linear regression or another approximation technique on thereceived 301 values, as known in the art. As a result, there may beyielded a series of threshold values or value ranges that make up an“envelope”, as described in further detail hereinabove.

The reference values may be calculated 302 per user, per physicalactivity type, per a combination of user and physical activity type, pertime or a time frame within a cycle that one of the “envelopes” pertainstoo, etc., or any combination thereof, as described in further detailhereinabove.

Later, a first user activity may be measured, say using a device worn ona body part of the first user, as described in further detailhereinabove.

As the first user is engaged in the physical activity, there arereceived 310 one or more values extracted from measurements of thephysical activity, say by the value receiver 110 of apparatus 1000.

In one example, the values are extracted from measurements of pressureand orientation, as taken on the first user's body part (say foot) bythe device worn by the user, and are wirelessly communicated to thevalue receiver 110, as described in further detail hereinabove.

Then, the received 310 values are compared 315 to one or more of thecalculated 302 reference values, and based on that comparison 315, theremay be detected 320 a deviation of the first user's physical activityfrom previous physical activities, as described in further detailhereinabove.

For example, when the physical activity is one of biking, each one ofthe received 310 values is compared 315 to a respective one of thereference values that make up the “envelope”, as described in furtherdetail hereinabove.

More specifically, in the example, based on time of receipt 310 of eachrespective one of the values, the received 310 value is mapped to arespective one of the reference values that make up that “envelope”. The“envelope” represents a flow of reference values that is repeated overthrough the time of the physical activity, as described in furtherdetail hereinabove.

When one of the received 310 values deviates from the respectivereference value, there is detected 320 a deviation of the first user'sphysical activity from the previous physical activities, as described infurther detail hereinabove.

In one example, the “envelope” spans a cycle of three minutes (i.e. 180seconds) and includes eighteen reference values that are evenly spreadalong the time period of the cycle, such that each one of the referencevalues pertains to a respective ten seconds long time frame within thecycle.

In the example, the values are received 310 through a period of sixminutes, and are accordingly mapped to two consecutive repeats of that“envelope”.

Accordingly, a value received 310 in the first or ninety-first secondfrom beginning of the first user's physical activity is compared 315 tothe first reference value in that envelope, whereas a value received 310in the 12th or 102nd second from the beginning is compared 315 to thesecond reference value in that envelope.

Optionally, upon detection 320 of the deviation based on that comparison315, there is issued a predefined command (say a control instructionthat turns on a camera, for capturing a digital image of the firstuser), as described in further detail hereinabove.

Alternatively, when there is detected 320 the deviation of the physicalactivity from the previous physical activities, the received 310 valuesare used to determine 325 if a movement made by the user during thephysical activity should be recognized as one of the predefinedgestures. In that way, only when, in addition to the detection 320 ofthe deviation, there is also determined 325 that indeed, the predefinedgesture is made by the user, is a computer command issued 330.

The deviation's detection 320 may thus add a layer to the measuredactivity, that allows the user to control a device such as smart phone,quadcopter, smart watch, camera, etc., that is controlled by a computerthat implants the method or that includes the computer, without stoppingthe activity, as described in further detail hereinabove.

Optionally, the detection 320 of the deviation further serves to as abasis for following changes in the first user's condition (say animprovement or a deterioration of motor disorder symptoms), and forproving an indication on the first user's condition, say by thecondition indicator, as described in further detail hereinabove.

Optionally, the received 310 values are also used for re-calculating 350one or more of the reference value using both the recently received 310values and previously received 301 values, or rather using the recentlyreceived 310 values and the reference values as calculated 302 prior tothat receipt 310.

As a result of the re-calculation 350, the reference values may beupdated and recalibrated with each receipt 310 of values extracted froma newer physical activity of the first user, thus allowing a taking intoaccount of physical changes in the user's physical condition andabilities. The reference values may thus remain up-to-date and be usefulfor monitoring changes (say by the first user's physician orphysiotherapist) between physical activities, through long time periods.

Optionally, the method further includes updating a database of detecteddeviations with data on the detected 320 deviation, and an evaluation ofthe detected 320 deviation in light of data on previously detecteddeviations retrieved from that database, as described in further detailhereinabove.

For example, an increasing degree of deviation may indicate animprovement in quality of the first user's intentional motor activityquality.

Further in the method, the reference values, criterions, etc., may beupdated in light of the comparison made with the data on the previouslydetected deviations. For example, a re-calculation 350 of one of thereference values may be conditioned upon a trend of changes in thedegree of deviation, say upon the degree's increasing for a third timein a row, as described in further detail hereinabove.

Reference is now made to FIG. 3, which is a block diagram schematicallyillustrating a non-transitory computer readable medium storing computerexecutable instructions for performing steps of physical activitymeasurement and analysis, according to an exemplary embodiment of thepresent invention.

According to an exemplary embodiment of the present invention, there isprovided a non-transitory computer readable medium 4000, such as a MicroSD (Secure Digital) Card, a CD-ROM, a USB-Memory, a Hard Disk Drive(HDD), a Solid State Drive (SSD), etc.

The computer readable medium 4000 stores computer executableinstructions, for performing steps of physical activity measurement andanalysis, according to an exemplary embodiment of the present invention,say the steps illustrated using FIG. 2A, as described in further detailhereinabove.

Thus, the computer executable instructions include a step of receiving410 one or more values extracted from measurements of a physicalactivity of a first user, as described in further detail hereinabove.

The physical activity may include, but is not limited to: walking,running, swimming, biking, skiing, rowing, skating, dancing, operating amechanical device used for physiotherapy or for exercising in gym,resting (say sitting), operating a computer mouse, etc., as described infurther detail hereinbelow.

Optionally, the values are received 410 through communication with adevice used to take measurements of physical parameters such as pressureapplied by a muscle of the first user, orientation of the first user'sfoot or hand, etc., during the physical activity of the first user, thusmeasuring the physical activity of the user.

Optionally, the device measures the physical activity without directcontact with the user's body (say using one or more cameras and anautomatic image processing based analysis of the user's movements duringthe physical activity, as known in the art), as described in furtherdetail hereinabove.

Optionally, the measurements that the received 410 values are extractedfrom are rather taken by a device deployed on a body part of the firstuser during the physical activity of the first user, as described infurther detail hereinabove.

Thus, in one example, the device communicated with is a device worn bythe user during the physical activity. In the example, the deviceincludes one or more sensors (say pressure meters such as an FSR (ForceSensitive Resistor), a gyroscope, an accelerometer, an IMU (InertialMeasurement Unit), etc., or any combination thereof) that are used formeasuring the physical activity.

In the example, the device worn by the first user may be used to measurethe first user's physical activity by taking measurements of pressureapplied by muscle of the first user when extending an arm or a foot, bytaking measurements of angular orientation of the first user's arm orfoot, etc., during the physical activity.

Optionally, the received 410 values include results of each measurementtaken by the device (say the result of each measured pressure,orientation, etc., as taken by the device worn by the user).

Alternatively or additionally, the received 410 values include valuescalculated by the device from the results (say values calculated by thedevice worn by the user), as described in further detail hereinabove.

Thus, in one example, each one of the received 410 values is an averagecalculated by the worn device from measurements taken during arespective three minutes period of the physical activity, from two ormore measurements taken on the first user's body during the respectivethree minutes period.

The computer executable instructions further include a step of detecting420 a deviation of the physical activity of the first user from at leastone previous physical activity (when found 420 to be a case ofdeviation), as described in further detail hereinabove.

According to the instructions, the deviation is detected 420 using thereceived 410 one or more values and one or more reference valuescalculated over at least one value extracted from measurements of the atleast one previous physical activity, say according to a predefinedcriterion, as described in further detail hereinabove.

Optionally, the instructions further include a preliminary step ofallowing a user or an administrator of the computer to define thecriterion in advance of the receipt 410 of the values, as described infurther detail hereinabove.

Optionally, the one or more previous physical activities are previousphysical activities of the first user (i.e. of the same user).

Optionally, the measurements of the previous physical activity aremeasurements taken on a body part of the first user during the previousphysical activity, say using one or more sensors of a device similar tothe device worn by the user, as described in further detail hereinabove.

Thus, in a first example, the first user's physical activity is one ofworking with a specific object (say a specific weight) in a gym, asknown in art.

In the first example, according to the predefined criterion, thedeviation is detected 420 when one of the received 410 values is atleast 20% higher than a reference value calculated by averaging overpressure values measured on an arm muscle of the first user duringprevious exercises with the same object.

Optionally, the physical activity involves a repeated cycle of movement,and each one of the reference values pertains to a different time framewithin the repeated cycle of movement, as described in further detailhereinabove.

Thus, in one example, the physical activity is an indoor cycling sessiontaken by the first user, and the previous physical activities areprevious indoor cycling sessions taken by the first user.

In the example, the deviation is detected 420 when one of the received410 values is out of an “envelope” made of reference values calculatedover the previous indoor cycling sessions taken by the first user, asdescribed in further detail hereinabove.

Optionally, the one or more reference values are value ranges calculatedover a plurality of values extracted from measurements of physicalactivities of a plurality of users. For example, the value ranges may becalculated by averaging over values extracted from measurements takenduring previous physical activities of a same type by other users or byboth the first user and other users, as described in further detailhereinabove.

Thus, in one example, the physical activity is one of exercising usingan object (say a weight) or a device (say a rowing machine) in a gym ora at physiotherapy clinic, and the reference values are calculated overvalues extracted from measurements of exercises by previous users usingthat object or device.

Optionally, the computer executable instructions further include a stepin which, upon the detection 420 of the deviation, there is issued apredefined command to a computer, say a command to start a stopwatch, asdescribed in further detail hereinabove.

Optionally, the computer executable instructions further include a stepin which, when the deviation is detected 420, the received 410 valuesare used for determining whether the received 410 values represent apredefined gesture, as described in further detail hereinabove.

Optionally, for defining the gesture, there are defined ranges of values(say ranges of pressure values, orientation values, etc.) that thereceived 410 values have to be within, in order for a user's movementmade during the physical activity measured for extracting the received410 values, be recognized as the predefined gesture.

Optionally, for defining the gesture, there are defined threshold values(say of pressure values, orientation values, etc.) that the received 410values have to cross, in order for a user's movement made during thephysical activity measured for extracting the received 410 values, berecognized as the predefined gesture.

Thus, optionally, the ranges, thresholds, or both, may be defined by aprogrammer or administrator, say in a database of gesture definitions,as described in further detail hereinabove. Optionally, there is furtherdefined a command that the predefined gesture is meant to trigger theissuance of, as described in further detail hereinabove.

Optionally, the computer executable instructions further includes a stepin which, upon detection 420 of the deviation (with or without thegesture's being recognized), there is issued a command—say a controlinstruction for a controller to turn on a camera, as described infurther detail hereinabove.

Alternatively, in the step, the command is issued only if in addition tothe detection 420 of the deviation, the first user's movement isrecognized (say using the received 410 values) as the predefined gesturemeant to trigger the issuance of that command, as described in furtherdetail hereinabove.

Additionally or alternatively, the computer executable instructionsinclude a step of determining that the detected 420 deviation reflects aphysical condition of the first user—say an improvement in the firstuser's fitness, as described in further detail hereinabove.

Similarly, in the step, there may be determined that the detected 420deviation reflects a medical condition—say an early stage of Parkinson'sdisease (say when the detected 420 deviation pertains to resting), asdescribed in further detail hereinabove.

Optionally, the computer executable instructions further include a stepof presenting an indication, say as a textual or graphical message on acomputer screen or a website (say to the first user or his physician)when determining that the deviation reflects the condition, as describedin further detail hereinabove.

In a first example, the first user is a professional athlete and thedetection 420 of the deviation of the physical activity is based onreference values calculated over measurements made during previousphysical activities (say training sessions) by the first user, asdescribed in further detail hereinabove.

In the example, a movement of the first user during the physicalactivity may be recognized as a predefined gesture used by the firstuser for commanding the computer to issue a command (say a controlinstruction that instructs a controller of a camera to capture a pictureof the first user with the camera).

However, the command is issued only if both a detection 420 of adeviation of the physical movement as represented by the received 410values from a previous physical activity of the user's as represented bythe reference values, and a recognition of the predefined gesture basedon the received 410 values occur.

That is to say that in the example, in order for a first user's movementto be recognized as the predefined gesture, the movement further has tocause the physical activity of the first user to deviate from theprevious physical activities by the first user, as described in furtherdetail hereinabove.

A first user's movement that doesn't make the physical activity deviatefrom the previous physical activities, even when similar to thepredefined gesture (say when received 410 values are within rangespredefined for the gesture), is interpreted as a natural part of thephysical activity rather than as the predefined gesture

In one exemplary case, the physical activity is biking and a rotationalmovement of the first user's foot is recognized as a predefinedrotational gesture, but only if in addition, one of the received 410values extracted from the measurements taken during the rotationalmovement deviates from a predefined reference value.

In this biking example, the reference value represent a ‘base level’that is calculated based on values extracted from measurements takenduring previous biking activities of the first user, and that footmovements that are a natural part of pushing the bicycle's paddles arenot supposed to deviate from.

In a second example, the first user is a person who suffers fromParkinson's disease.

One of the symptoms of Parkinson's disease is tremor at rest, asdescribed in further detail hereinabove.

In the second example, the received 410 values are values extracted frommeasurements taken during a session in which the first user rests, thusin the example, the measured physical activity is actually a one ofresting (say of sitting or lying).

Only when there is detected 420 a deviation of the physical activityfrom the previous physical activities based on the received 410 valuesand a reference value, are the received 410 values subject to a step inwhich the predefined gesture may by recognized based on the received 410values.

Optionally, the predefined gesture is characterized by a specificorientation of the upper arm and a simultaneous pressure applied by theupper arm at a specific direction.

In the example, the gesture's definition further includes a command thatcauses the computer to call the nurse, thus the gesture may be used bythe first user to instruct the computer to call the nurse, as describedin further detail hereinabove.

Further in the example, the computer executable instructions include apreliminary step of calculating the reference value based onmeasurements taken from the first user during previous sessions, as thefirst user experiences tremor at rest, say by averaging over valuesextracted from pressure and orientation measurements.

In one case, based on a criterion predefined by an administrator orprogrammer, when one of the values received 410 during the rest is morethan 10% larger than the reference value, there is detected 420 adeviation of the physical activity from the previous physicalactivities.

Then, the received 410 values are forwarded to a step in which there isdetermined if the received 410 values represent the predefined gesture.

However, in that case, it is assumed that with an unintentional movementthat is a part of the user's usual tremor at rest, even when themovement is similar to the gesture in direction, angle, etc., none ofthe received 410 values is likely to be more than 10% larger than thereference value.

Thus, when staying within a 10% difference from the reference value, theunintentional movement does not make the physical activity deviate fromprevious physical activities of resting. As a result, the received 410values are not forwarded to the step in which there is determined if thereceived 410 values represent the predefined gesture. The unintentionalmovement is thus effectively construed as a one that is within thelimits of the tremor usually experienced by the first user at rest andtherefore, as a one that should not be construed to be the predefinedgesture.

Further in the example, the computer executable instructions include astep in which the detected 420 deviation from the “base level” of tremorat rest as represented by the reference values, may be interpreted asindicating a condition of the user (say an alleviation of tremor at restsymptoms).

Optionally, the computer executable instructions further include apreliminary step of calculating the reference from previously receivedvalues extracted from one or more previous physical activities, asdescribed in further detail hereinabove. In one example, the referencevalues are calculated by averaging over the previously received values,as described in further detail hereinabove.

Optionally, the computer executable instruction further include a stepof storing the calculated reference values in a database of referencevalues, say in a database implemented on a memory of the computer, asdescribed in further detail hereinabove.

Optionally, whenever receiving 410 values extracted from measurements ofa physical activity of the first user, one or more of the referencevalues may be updated based on those recently received 410 values, andstored in the database of reference values, as described in furtherdetail hereinabove.

Thus, in one example, the reference value used for detecting 420 thedeviation is an average of values previously extracted from physicalpressure measurements taken on a body part of the first user duringprevious physical activities of the first user.

In the example, whenever receiving 410 values extracted frommeasurements of a physical activity of the first user, the referencevalue is re-calculated based on both the reference value's value priorto receipt 410 of the values, and the recently received 410 values, andstored in the database of reference values.

With the exemplary computer executable instructions, a reference valuemay be calculated per user, per physical activity type, per acombination of user and physical activity type, etc., as described infurther detail hereinabove.

Accordingly, in a first example, the database of reference values is auser-specific database dedicated to the first user only.

In the first example, the reference values in the database areaccessible according to the type of physical activity (say running,rowing, resting, etc.), say using indexes, primary keys, foreign keys,etc., as known in the art of computer database design.

In a second example, the database of reference values is notuser-specific and rather holds reference values of more than one user.

In the second example, the reference values in the database areaccessible according to physical activity type (say running, walking,resting, etc.), user, or a combination of user and physical activitytype, say using indexes, primary keys, foreign keys, etc., as known inthe art of computer database design.

Optionally, the computer executable instructions further include a stepin which data on the detected 420 deviation is added to a database ofdetected deviations, say a database that already stores data onpreviously detected deviations. The database may be implemented, forexample, on a memory of a computer, as described in further detailhereinabove.

In one example, the database of detected deviations holds only data thatpertains to the first user, and is thus a personal, user-specificdatabase that is dedicated to the first user only.

In the example, the data in the database of detected deviations that isdedicated to the first user, is accessible according to the type ofphysical activity (say running, walking, resting, etc.), say usingindexes, primary keys, foreign keys, etc., as known in the art ofcomputer database design.

In a second example, the database of detected deviations holds data thatpertain to two or more users, and is thus not user-specific.

In the second example, the data in the database of detected deviationsthat is not user-specific, is accessible according to the type ofphysical activity (say running, resting, etc.), user, or a combinationof user and activity type, say using indexes, primary keys, foreignkeys, etc., as known in the art.

Thus, optionally, following the detection 420 of the deviation, thedatabase of detected deviations is updated with data on the detected 420deviation, as described in further detail hereinabove.

This, in one example, the computer executable instructions furtherinclude a step of updating the database of detected deviations with adatabase record that holds one of the received 410 values extracted fromthe first user's physical activity, one of the reference values used fordetecting 420 the deviation, and the deviation's degree.

The degree may be, for example, a difference calculated between thereceived 410 value and the reference value, a ratio calculated betweenthe received 410 value and the reference value, etc., as described infurther detail hereinabove.

Optionally, the computer executable instructions further includes a stepof evaluating the detected 420 deviation, as described in further detailhereinabove.

Thus, in one example, the detected 420 deviation is compared to datastored in the database of detected deviations, for evaluating thedetected 420 deviation using data on previously detected deviations thatis stored in the database, as described in further detail hereinabove.

For example, when the first user is a patient who suffers from a motordisorder, the detected 420 deviation may be compared to data ondeviations detected previously for that first user (say using thedegrees of deviation), so as to track the progress of the first user, asdescribed in further detail hereinabove.

Optionally, the computer executable instructions further include a stepin which the reference values, criterions, etc., are updated in light ofthe comparison made with the data on the previously detected deviations,as described in further detail hereinabove.

It is expected that during the life of this patent many relevant devicesand systems will be developed and the scope of the terms herein,particularly of the terms “Computer”, “Sensor”, “Camera”, “Processor”,“Micro SD Card”, “CD-”ROM″, “USB-Memory”, “Hard Disk Drive (HDD)”,“Solid State Drive (SSD)”, “FSR (Force Sensitive Resistor)”,“Gyroscope”, “Accelerometer”, and “IMU (Inertial Measurement Unit)”, isintended to include all such new technologies a priori.

It is appreciated that certain features of the invention, which are, forclarity, described in the context of separate embodiments, may also beprovided in combination in a single embodiment. Conversely, variousfeatures of the invention, which are, for brevity, described in thecontext of a single embodiment, may also be provided separately or inany suitable subcombination.

Although the invention has been described in conjunction with specificembodiments thereof, it is evident that many alternatives, modificationsand variations will be apparent to those skilled in the art.Accordingly, it is intended to embrace all such alternatives,modifications and variations that fall within the spirit and broad scopeof the appended claims.

All publications, patents and patent applications mentioned in thisspecification are herein incorporated in their entirety by referenceinto the specification, to the same extent as if each individualpublication, patent or patent application was specifically andindividually indicated to be incorporated herein by reference. Inaddition, citation or identification of any reference in thisapplication shall not be construed as an admission that such referenceis available as prior art to the present invention.

What is claimed is:
 1. A method of physical activity measurement andanalysis, the method comprising computer-executed steps of: receiving atleast one value extracted from measurements of a physical activity of afirst user; and detecting a deviation of the physical activity of thefirst user from at least one previous physical activity using thereceived at least one value and at least one reference value calculatedover at least one value extracted from measurements of the at least oneprevious physical activity.
 2. The method of claim 1, wherein themeasurements that the received values are extracted from are taken on abody part of the first user during the physical activity of the firstuser.
 3. The method of claim 1, wherein the previous physical activityis a physical activity of the first user.
 4. The method of claim 1,wherein the measurements of the previous physical activity are taken ona body part of the first user during the previous physical activity. 5.The method of claim 1, wherein at least one of the reference values iscalculated over a plurality of values extracted from measurements ofphysical activities of a plurality of users.
 6. The method of claim 1,further comprising issuing a command by a computer, based on saiddetecting of the deviation.
 7. The method of claim 1, further comprisingrecognizing a gesture based on the receive values, and issuing a commandby a computer, based on both said detecting of the deviation and saidrecognizing of the gesture.
 8. The method of claim 1, further comprisingpresenting an indication on a condition of the first user, based on saiddetecting of the deviation.
 9. The method of claim 1, further comprisingupdating at least one of the reference values based on the receivedvalues extracted from the measurements of the physical activity of thefirst user.
 10. The method of claim 1, wherein at least one of thereference values is calculated per physical activity type.
 11. Themethod of claim 1, wherein at least one of the reference values iscalculated per user.
 12. The method of claim 1, wherein at least one ofthe reference values is calculated per user and physical activity type.13. The method of claim 1, further comprising evaluating the detecteddeviation using data on at least one previously detected deviation. 14.The method of claim 1, further comprising updating a database holdingdata on previously detected deviations, with data based on the detecteddeviation.
 15. The method of claim 1, wherein the previous physicalactivity involves a repeated movement cycle and each one of thereference values pertains to a different time within the repeatedmovement cycle.
 16. An apparatus for physical activity measurement andanalysis, comprising: at least one computer processor; a value receiver,implemented on the computer processor, configured to receive at leastone value extracted from measurements of a physical activity of a firstuser; and a deviation detector, in communication with said valuereceiver, configured to detect a deviation of the physical activity ofthe first user from at least one previous physical activity using thereceived at least one value and at least one reference value calculatedover at least one value extracted from measurements of the at least oneprevious physical activity.
 17. The apparatus of claim 16, wherein theprevious physical activity is a physical activity of the first user. 18.The apparatus of claim 16, wherein at least one of the reference valuesis calculated over a plurality of values extracted from measurements ofphysical activities of a plurality of users.
 19. A non-transitorycomputer readable medium storing computer processor executableinstructions for performing steps of physical activity measurement andanalysis, the steps comprising: receiving at least one value extractedfrom measurements of a physical activity of a first user; and detectinga deviation of the physical activity of the first user from at least oneprevious physical activity using the received at least one value and atleast one reference value calculated over at least one value extractedfrom measurements of the at least one previous physical activity.